www.gusucode.com > WSTMall PHP网店系统 v1.6.0PHP源码程序 > WSTMall PHP网店系统 v1.6.0/wstmall_v1.6.0_160506/wstmall_v1.6.0_160506/Apps/Home/Model/AttributesModel.class.php

    <?php
 namespace Home\Model;
/**
 * ============================================================================
 * WSTMall开源商城
 * 官网地址:http://www.wstmall.com 
 * 联系QQ:707563272
 * ============================================================================
 * 商品属性类
 */
class AttributesModel extends BaseModel { 
    
     /**
      * 保存属性记录
      */
	 function edit(){
	 	$m = M('attributes');
	 	$rd = array('status'=>-1);
	 	$no = (int)I('no');
	 	$catId = (int)I('catId');
	 	$shopId = (int)session('WST_USER.shopId');
	 	//获取该类型下的价格属性
	 	$sql = "select attrId from __PREFIX__attributes where catId=".$catId." and isPriceAttr = 1 and attrFlag=1 and shopId=".$shopId;
	 	$priceRs = $this->query($sql);
	 	$priceAttrId = (int)$priceRs[0]['attrId'];
	 	$newPriceAttrId = 0;
	 	for($i=0;$i<=$no;$i++){
	 		$attrName = trim(I('attrName_'.$i));
	 		if($attrName=='')continue;
	 		$data = array();
	 		$data['shopId'] = $shopId;
	 		$data['catId'] = $catId;
	 		$id = (int)I('id_'.$i);
	 		if($id>0){
	 			$data['attrName'] = $attrName;
	 			$data['isPriceAttr'] = (int)I('isPriceAttr_'.$i);
	 			$data['attrType'] = (int)I('attrType_'.$i);
	 			if($data['attrType']==1 || $data['attrType']==2)$data['attrContent'] = str_replace(',',',',I('attrContent_'.$i));
	 			$data['attrSort'] = (int)I('attrSort_'.$i);
	 			$this->where('shopId='.$shopId.' and catId='.$catId.' and attrId='.$id)->save($data);
	 			if($data['isPriceAttr']==1)$newPriceAttrId = $id;
	 		}else{
	 			$data['attrName'] = $attrName;
	 			$data['isPriceAttr'] = (int)I('isPriceAttr_'.$i);
	 			$data['attrType'] = (int)I('attrType_'.$i);
	 			if($data['attrType']==1 || $data['attrType']==2)$data['attrContent'] = str_replace(',',',',I('attrContent_'.$i));
	 			$data['attrSort'] = (int)I('attrSort_'.$i);
	 			$data['attrFlag'] = 1;
			    $data['createTime'] = date('Y-m-d H:i:s');
	 			$rs = $this->add($data);
	 			if($data['isPriceAttr']==1)$newPriceAttrId = $id;
	 		}
	 	}
	 	//做价格属性的删除工作
	 	if(($priceAttrId>0 && $newPriceAttrId==0) || ($priceAttrId>0 && $newPriceAttrId>0 && $priceAttrId !=$newPriceAttrId )){
	 		//修改前一條记录状态
			$this->execute("update __PREFIX__attributes set isPriceAttr=0 where attrId=".$priceAttrId);
			$m = M('goods_attributes');
			//删除相关商品的属性
			$m->where("shopId=".$shopId." and attrId = ".$priceAttrId)->delete();
	 	}
	 	$rd['status']= 1;
	 	return $rd;
	 }
	 /**
	  * 获取指定对象
	  */
     public function get(){
     	$shopId = (int)session('WST_USER.shopId');
		return $this->where("shopId=".$shopId." and attrId=".(int)I('id'))->find();
	 }
	 /**
	  * 分页列表
	  */
     public function queryByPage(){
     	 $catId = (int)I('catId');
     	 $shopId = (int)session('WST_USER.shopId');
		 return $this->where('shopId='.$shopId.' and attrFlag=1 and catId='.$catId)->order('attrSort asc,attrId asc')->select();
	 }
	 
	 /**
	  * 下拉列表
	  */
     public function queryByList(){
     	 $catId = (int)I('catId');
     	 $shopId = (int)session('WST_USER.shopId');
		 return $this->where('shopId='.$shopId.' and attrFlag=1 and catId='.$catId)->order('attrSort asc,attrId asc')->select();
	 }
	 
     /**
	  * 下拉列表2
	  */
     public function queryByListForGoods(){
     	 $catId = (int)I('catId');
     	 $shopId = (int)session('WST_USER.shopId');
		 $rs = $this->where('shopId='.$shopId.' and attrFlag=1 and catId='.$catId)->order('attrSort asc,attrId asc')->select();
         foreach ($rs as $key => $v){
		     //分解下拉和多选的选项
		     if($rs[$key]['attrType']==1 || $rs[$key]['attrType']==2){
				$rs[$key]['opts']['txt'] = explode(',',$rs[$key]['attrContent']);
		     }
		     
		}
		return $rs;
	 }
	 
	 /**
	  * 删除
	  */
	 public function del(){
	    $rd = array('status'=>-1);
	    $id = (int)I('id');
	    if($id==0)return $rd;
	    $shopId = (int)session('WST_USER.shopId');
	    $m = M('goods_attributes');
		//删除相关商品的属性
		$m->where("shopId=".$shopId." and attrId=$id")->delete();
	    //删除属性
	    $rs = $this->execute("update __PREFIX__attributes set attrFlag=-1 where shopId=".$shopId." and attrId=".$id);
		if(false !== $rs){
		   $rd['status']= 1;
		}
		return $rd;
	 }
};
?>